Packet switched or network communications can be proxied through a gateway into an ‘alien’ transport, such as a half-duplex radio link or a high latency satellite connection, whereby the transport characteristics are modified away from the traditional full duplex communications commonly used for internet protocol suite (TCP/IP) networks. Many existing communications protocols like TCP/IP already suffer from transfer rate limitations due to network latency, traffic congestion and dropped datagrams or packets. Even though the gateways that manage half duplex transport use buffers intended to maintain the illusion of full duplex communication for the sender and receiver, the existence of asymmetric transport tends to increase latency and worsen the problem of dropped datagrams or packets.
In U.S. Pat. No. 8,310,920 to Goldfein et al., a system and method are disclosed that accelerate data transfers over a network even in the face of high latency and congestion. The sender will send as much data as it can as rapidly as possible so as to make maximum use of the available bandwidth. This is in contrast to any specific amount of bandwidth that the network or any of the network's nodes might attempt to allocate to any given sender. The sender sends datagrams continuously (with only small amounts of inter-datagram delay between contiguous datagrams) until the source of data is exhausted or until the sender is paused by the receiver. The sender thereby floods the transmission channel with traffic, taking all available bandwidth, with the aim of keeping the channel as full of data as possible so that there is always data ready for immediate acceptance by the receiver, even if the extra burden results in some dropped data that must subsequently be resent. In one embodiment, the '920 patent describes a protocol that employs fault-tolerant coding of chapters of datagrams, such as Reed-Solomon or similar error-correcting codes, to build in a level of redundancy in each encoded chapter, so that any lost (missing or corrupt) datagrams in a chapter, up to a specified loss rate, can be recovered from those encoded datagrams that do successfully arrive at the receiver end. This ability to reconstruct missing datagrams from a subset of encoded datagrams of a chapter minimizes the need for resending datagrams.
In addition to the data transmission channel, a separate feedback channel is also established between sender and receiver for reporting of synchronization messages (SYNs), acknowledgement messages (ACKs) and negative acknowledgments (NAKs) by the receiver, so the sender can determine network latency and the existence of any lost or corrupted datagrams that need to be resent. Periodic SYNs, as well as ACKs that supplement, replace or incorporate such SYNs once data transmission has begun, include a timestamp, and changes in timestamp differences are used by the sender as a measure of overall latency and network congestion to serve as one basis for tuning the data transmission rate. The sender tries to optimize the use of the available bandwidth capacity as defined by the bandwidth delay product. An optimum rate is defined as the highest rate the data can be transmitted and be successfully received and processed by the receiver with minimum data loss. The content of NAKs and ACKs allow the sender to determine the datagram loss rate in the data channel to serve as another basis for tuning the data transmission rate. Too little loss (or corruption) implies that datagrams can be sent more frequently, while too much loss results in too much retransmission. Hence an optimum data rate can be maintained by the sender setting an upper bound to the datagram loss rate.
The '920 patent's error-correcting-capable protocol makes use of a method described in U.S. Pat. No. 8,078,944 to Cousins which involves transforming groups of datagrams, called cohorts, using Galois field operations and a Vandermonde generator matrix to derive corresponding groups of output datagrams, called chapters, that have sufficient redundancy embedded within the reformulated data so that original data is recoverable even when less than all elements of a chapter are available. Specifically, when a cohort of W input datagrams are transformed into a chapter of H output datagrams, where H≧W, then all W original datagram files are recoverable from only W received datagrams of a chapter. Thus, provided not more than (H−W) datagrams of a chapter are lost or corrupted during transmission, the entire cohort of original data will be recovered. However, if the datagram loss rate is great enough such that fewer then W datagrams of a chapter are available, then none of the original data, not even small portions, will be recoverable.
In spite of the overall improvement in data transfer provided by the '920 patent's error-correcting-capable protocol, the possible existence of asymmetric transfer conditions invites further enhancements to take account of non-full-duplex throughput via a buffered gateway. During transmission periods of the asymmetric transport, the gateway's buffer will fill as the sender maximizes use of the available bandwidth. Peak throughput occurs when the buffer is close to being full. During back haul periods when the transport is not transmitting to allow traffic in the reverse direction, the gateway buffer will fill at a faster rate and will likely become completely full such that datagrams must be dropped before any can be transmitted. When the transport returns to a transmitting period, the buffer is already full so that datagram drops will continue if the sender continues to supply datagrams at the same high rate. Overall, the effective throughput under such asymmetric transfer conditions can be poor, despite the recovery ability of the redundant encoding of datagram chapters, due to the predominance of so many datagram losses, which may reach a level that prevents recovery and thereby requires retransmission of datagrams.